#ifndef CHATDIALOG_H
#define CHATDIALOG_H

#include "../global.h"


#include <QWidget>
#include <QDialog>
#include <QRandomGenerator>
#include <vector>
#include <QVector>
#include <QString>



namespace Ui {
class ChatDialog;
}

class ChatDialog : public QDialog
{
    Q_OBJECT

signals:

private slots:
    // ChatDialog 界面 ClickedLabel 被点击触发的槽函数
    void slot_emm_lb(); // 点击表情标签，触发的槽函数
    void slot_file_lb();
    void slot_side_contact_list_lb();
    void slot_side_chat_lb();

    void slot_loading_chat_user(); // 加载更多聊天内容

public:
    explicit ChatDialog(QWidget *parent = nullptr);
    ~ChatDialog();

    void addChatUserList(); // 创建QListWidgetItem，并设置自定义的widget

private:
    void ShowSearch(bool bsearch = false); // ui->chat_user_wid 显示哪一个 list 的设置

    Ui::ChatDialog *ui;

    // 聊天的模式
    ChatUIMode _mode;
    ChatUIMode _state;

    bool _b_loading; // 是否加载更多聊天信息的 bool 控制值，防止数据竞争造成的问题
};



#endif // CHATDIALOG_H
